import odoo from './odoojs'

const odooModelsFiles = require.context('./odoo-models', true, /\.js$/)

// base_models 对应 odoo model 提供一些基础的 configs
// 这些 configs 服务于 同一模型的所有页面
// 暂时 configs 只包括 values/domain/fields 的默认值
// base_models 同时对 odoorpc 的 方法进行扩展

const odooModels = odooModelsFiles.keys().reduce((models, modulePath) => {
  // set './app.js' => 'app'
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = odooModelsFiles(modulePath)
  models[moduleName] = value.default
  return models
}, {})

const modulesFiles = require.context('./modules', true, /\.js$/)

const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  // set './app.js' => 'app'
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})

// console.log('odooapi.modules 0:', odooModels)

odoo.init({ modules: modules, models: odooModels })

console.log('odooapi.modules:', odoo.modules)

export default odoo
